﻿using Newtonsoft.Json;

namespace CuteRibs.WowArmory.Models
{
	#region ArenaTeam
	/// <summary>
	/// {
	///		"realmName": "亚雷戈斯",
	///		"ranking": 0,
	///		"rating": 0,
	///		"teamsize": 5,
	///		"created": "2010-09-27",
	///		"charName": "职业混分",
	///		"gamesPlayed": 0,
	///		"gamesWon": 0,
	///		"gamesLost": 0,
	///		"sessionGamesPlayed": 0,
	///		"sessionGamesWon": 0,
	///		"sessionGamesLost": 0,
	///		"lastSessionRanking": 0,
	///		"side": "horde",
	///		"currentWeekRanking": 0,
	///		"members": []
	///	}
	/// </summary>
	[JsonObject]
	public class ArenaTeam : BNObjectBase
	{
		[JsonProperty("realm")]
		public string Realm { get; set; }

		[JsonProperty("ranking")]
		public int Ranking { get; set; }

		[JsonProperty("rating")]
		public int Rating { get; set; }

		[JsonProperty("teamsize")]
		public int Teamsize { get; set; }

		[JsonProperty("created")]
		public string Created { get; set; }

		[JsonProperty("name")]
		public string Name { get; set; }

		[JsonProperty("gamesPlayed")]
		public int GamesPlayed { get; set; }

		[JsonProperty("gamesWon")]
		public int GamesWon { get; set; }

		[JsonProperty("gamesLost")]
		public int GamesLost { get; set; }

		[JsonProperty("sessionGamesPlayed")]
		public int SessionGamesPlayed { get; set; }

		[JsonProperty("sessionGamesWon")]
		public int SessionGamesWon { get; set; }

		[JsonProperty("sessionGamesLost")]
		public int SessionGamesLost { get; set; }

		[JsonProperty("lastSessionRanking")]
		public int LastSessionRanking { get; set; }

		[JsonProperty("side")]
		public string Side { get; set; }

		[JsonProperty("currentWeekRanking")]
		public int CurrentWeekRanking { get; set; }

		[JsonProperty("members")]
		public ArenaTeamMember[] Members { get; set; }
	} 
	#endregion

	#region ArenaTeamMember
	/// <summary>
	/// {
	///		"team": {},
	///		"rank": 1,
	///		"gamesPlayed": 0,
	///		"gamesWon": 0,
	///		"gamesLost": 0,
	///		"sessionGamesPlayed": 0,
	///		"sessionGamesWon": 0,
	///		"sessionGamesLost": 0,
	///		"personalRating": 0
	///	}
	/// </summary>
	[JsonObject]
	public class ArenaTeamMember
	{
		[JsonProperty("character")]
		public Character Character { get; set; }

		[JsonProperty("rank")]
		public int Rank { get; set; }

		[JsonProperty("gamesPlayed")]
		public int GamesPlayed { get; set; }

		[JsonProperty("gamesWon")]
		public int GamesWon { get; set; }

		[JsonProperty("gamesLost")]
		public int GamesLost { get; set; }

		[JsonProperty("sessionGamesPlayed")]
		public int SessionGamesPlayed { get; set; }

		[JsonProperty("sessionGamesWon")]
		public int SessionGamesWon { get; set; }

		[JsonProperty("sessionGamesLost")]
		public int SessionGamesLost { get; set; }

		[JsonProperty("personalRating")]
		public int PersonalRating { get; set; }
	} 
	#endregion
}
